package bite;

/**
 * Creared with IntelliJ IDEA.
 * Description:【井字棋】
 * 给定一个二维数组board，代表棋盘，其中元素为1的代表是当前玩家的棋子，0表示没有棋子，-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及
 * 获胜（及井字棋规则），返回当前玩家是否胜出。
 * User:yxd
 * Date:2022-04-03
 * Time:21:36
 */
public class Day10_1 {
    public boolean checkWon(int[][] board){
        int n = board.length;//这是一个正方形
        int count = 0;
        for (int i = 0; i < n; i++) {
            count = 0;//每一行加完都要清空一下计数器
            for (int j = 0; j < n; j++) {
                count += board[i][j];
            }
            if(count == n){
                return true;
            }
        }
        for (int i = 0; i < n; i++) {
            count = 0;//每一列加完都要清空一下计数器
            for (int j = 0; j < n; j++) {
                count += board[j][i];
            }
            if(count == n){
                return true;
            }
        }
        count = 0;
        for (int i = 0; i < n; i++) {
            count += board[i][i];//对角线,行和列下标相等
        }
        if(count == n){
            return true;
        }

        count = 0;
        for (int i = 0; i < n; i++) {
            count += board[i][n - i - 1];//对角线,行和列下标相等
        }
        if(count == n){
            return true;
        }
        return false;
    }
}
